var fs = require("fs");

exports.getAllAlbums = function(callback){
    fs.readdir("./uploads",function(error,files){
        var allAlbums = [];
        if(error) {
           callback("没有找到uploads文件夹",null);
           return;
        }
        (function iterator(i){
            if(i==files.length){
                callback(null,allAlbums);
                return ;
            }
            fs.stat("./uploads/"+files[i],function(err,status){
                if(err){
                    console.log(err);
                    return ;
                }
                if(status.isDirectory()){
                    allAlbums.push(files[i]);
                }
                iterator(i+1);
            });
        })(0);

    });
}

exports.getAllImages = function(albumName,callback){
    fs.readdir("./uploads/" + albumName,function(error,files){
        var allImages = [];
        if(error) {
            callback("没有找到"+albumName+"目录",null);
            return;
        }
        (function iterator(i){
            if(i==files.length){
                callback(null,allImages);
                return ;
            }
            fs.stat("./uploads/" + albumName + "/" +files[i],function(err,stats) {
                if (err) {
                    callback("没有找到"+files[i]+"这个文件",null);
                    return;
                }
                if (stats.isFile()) {
                allImages.push(files[i]);
                iterator(i + 1);
                }
            });
        })(0);

    });
}


exports.renamedirHandle = function(oldName,newName,callback){
    var oldPath = "./uploads/"+oldName;
    var newPath = "./uploads/"+newName;
    fs.stat(oldPath,function(err,stat){
        if(err) {
            callback("没有找到"+oldName+"目录,目录可能被删除了!",false);
            return;
        }
        if(stat&&stat.isDirectory()){
            fs.stat(newPath,function(err,stat){
                if(stat&&stat.isDirectory()){
                    callback("更改的目录名已存在",false);
                    return;
                }
                fs.rename(oldPath,newPath,function(err){
                    if(err) {
                        callback("更改的目录名已存在",false);
                        return;
                    }
                     callback(oldName+"目录重命名成功",true);
                })
            })
        }

    });
}

exports.deletedirHandle = function(albumName,callback){
    var deletePath = "./uploads/"+albumName;
    var files = [];
    fs.stat(deletePath,function(err,stat){
        if(err) {
            callback("没有找到"+albumName+"目录,目录可能被删除了!",null);
            return;
        }
        if(stat&&stat.isDirectory()){
            files = fs.readdirSync(deletePath);
            files.forEach(function(file,index){
                fs.unlinkSync(deletePath+"/"+file);
            });

            fs.rmdir(deletePath,function(err){
                if(err){
                    callback("没有找到"+albumName+"目录,目录可能被删除了!",false);
                    return;
                }
                callback(albumName+"目录删除成功",true);

            })


        }

    })
}


